-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: only build _ext and kernels #2813
Conversation
We now export some more symbols to support this
0636065
to
1c1cb8b
Compare
b463e10
to
7faabab
Compare
@jpivarski this PR fails on Windows. The error message in the CI indicates that the copy-assignment constructor for I'm not sure why it's suddenly an issue. It's possible that the CI toolchain bumped MSVC at the same time that I wrote this PR, but I doubt it; in this PR I also added an EXPORT_SYMBOL for the This raises the following questions for me:
I'll keep digging. |
Well, that (05ee4a2) worked! I'm not entirely clear on why this became an error once I exported this class, but it seems that the emission of the default copy-assignment constructor leads to the attempted copy-assignment of the Clearly, we don't want that, so 05ee4a2 deletes the top-level copy-assignment (rather than implementing it) |
a6ea59b
to
05ee4a2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reducing the number of shared libraries to two (one is the Python module and the other is dlopened
through ctypes
) is ideal.
However, this PR doesn't change awkward-cpp/src/awkward_cpp/cpu_kernels.py to look for kernels in libawkward.so. It's odd that it passes tests: how does the kernel dispatch find the CPU kernels?
Are the tests picking up a cached version of awkward-cpp?
Right now, we install three libraries:
_ext
,libawkward
,libawkward-cpu-kernels
, and build some additional static variants.We didn't change this when splitting out awkward-cpp, because I didn't want to rock the boat any more. Since becoming more well versed with CMake's nuances, I'm confident that we can remove the leftover baggage.
This PR keeps the separate
libawkward
and_ext
libraries (because it doesn't appear trivial to merge them), but drops the static libraries.